package com.rabbit.eap.system.service;

import com.rabbit.eap.framework.common.api.ApiResult;
import com.rabbit.eap.framework.common.service.BaseService;
import com.rabbit.eap.system.dto.SysPostDTO;
import com.rabbit.eap.system.entity.SysPost;
import com.rabbit.eap.system.param.SysPostPageParam;

/**
 * @projectName: eap
 * @packageName: com.rabbit.eap.system.service
 * @className: ISysPostService
 * @author： rabbit
 * @version： 1.0
 * @since： 2020/06/06 23:34:03
 * <p>Description:
 * 岗位信息表 服务类
 * </p>

 */
public interface ISysPostService extends BaseService<SysPost> {


    /**
     * @Description: 添加岗位信息表
     * @methodName: saveSysPost
     * @param sysPostDTO:sysPostDTO数据传输对象
     * @return: ApiResult
     * @throws Exception
     * @date: 2020/06/06 23:34:03
     * @author: rabbit
     */
    ApiResult saveSysPost(SysPostDTO sysPostDTO) throws Exception;


    /**
     * @Description: 修改岗位信息表
     * @methodName: modifySysPost
     * @param  sysPostDTO:sysPostDTO数据传输对象
     * @return: ApiResult
     * @throws Exception
     * @date: 2020/06/06 23:34:03
     * @author: rabbit
     */
    ApiResult modifySysPost(SysPostDTO sysPostDTO) throws Exception;

    /**
     * @Description: 删除岗位信息表
     * @methodName: removeSysPost
     * @param ids:ids集合
     * @return: ApiResult.result(flag)
     * @throws Exception
     * @date: 2020/06/06 23:34:03
     * @author: rabbit
     */
    ApiResult removeSysPost(Long[] ids) throws Exception;

    /**
     * @Description: 根据Id获取岗位信息表详情
     * @methodName: getSysPostInfo
     * @param id: id
     * @return:  SysPostVO
     * @throws Exception
     * @date: 2020/06/06 23:34:03
     * @author: rabbit
     */
    ApiResult getSysPostById(Long id) throws Exception;

    /**
     * @Description: 岗位信息表分页列表
     * @methodName: getSysPostPageList
     * @param sysPostPageParam
     * @return: Paging<SysPostVO>
     * @throws Exception
     * @date: 2020/06/06 23:34:03
     * @author: rabbit
     */
    ApiResult getSysPostPageList(SysPostPageParam sysPostPageParam) throws Exception;

    ApiResult changeStatus(SysPostDTO sysPostDTO);

    ApiResult getAllPost();
}
